package com.smallA.mapper;

import com.smallA.po.Answer;
import com.smallA.po.Test;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 考试对应的实体类
 *
 * @author 君未洋
 */
@Mapper
@Repository
public interface TestMapper {

    /**
     * 获取所有的考试
     *
     * @return 所有的考试集合
     */
    List<Test> selectAllTest();

    /**
     * 将学生对应的答案保存到数据库
     *
     * @param answer 要修改进数据库的答案
     * @return 返回操作的数据数目
     */
    int insertAnswer(Answer answer);

    /**
     * 通过学生id和考试id来查询该考生所有的答案
     *
     * @param sid 学生id
     * @param gid 考试id
     * @return 返回所有的答案的集合
     */
    List<Answer> selectAnswer(@Param("sid") int sid, @Param("gid") int gid);

    /**
     * 通过考试id获取对应的考试封装类
     *
     * @param id 对应的考试id
     * @return 返回获取的考试数据
     */
    Test selectTestById(int id);

    /**
     * 添加一场考试
     *
     * @param test 考试类
     * @return 返回操作的数据数量
     */
    int insertTest(Test test);


    /**
     * 通过成绩表id查询test
     * @param gid
     * @return
     */
    Integer selectTestByGradeId(Integer gid);


}
